package com.drink.yan.intf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.drink.yan.web.rest.req.DataTypeAuthIo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meta.framework.copy.Copyable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * java类简单作用描述
 *
 * @Title:
 * @Package: com.drink.yan.intf.entity.
 * @Author: M.simple
 * @Remark: The modified content
 * @CreateDate: 2023/11/24 20:42
 * @Version: v2.0
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
@TableName(value = "yan_user_detail", autoResultMap = true)
public class YanUserDetail extends Copyable implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long userId;

    private String headImg;

    @ApiModelProperty("微信二维码图片")
    private String wechatImg;

    private String userName;

    private String sex;

    private String mobile;

    private String idCardNo;

    @ApiModelProperty("身份证正面")
    private String idCardObvImg;

    @ApiModelProperty("身份证反面")
    private String idCardRevImg;

    @ApiModelProperty("联系二维码")
    private String linkQrCode;

    @TableField(value = "data_auth", typeHandler = JacksonTypeHandler.class)
    private List<DataTypeAuthIo> dataAuth;

    private String delFlag;
    private Long createBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;
    private Long updateBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;
    private String remark;
}


